有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从HTML表单发布时,java非英语UTF 8字符会发生变化

当我发布HTML表单中的非英语字符时,在服务器端我收到一些UTF-8字符,但不是原始的UTF-8字符。例如,在卡纳达,“ಇಲಾಖೆಯ“变成”“变成”“变成”“变成”départe“变成”dé©parte”。
我的HTML表单有属性accept-charset作为UTF-8,我有meta content typetext/html; charset=UTF-8。我的JBoss服务器也配置为UTF-8

我在Maven中将源代码编译为UTF-8
我在web中添加了CharactersetEncoderFilter。xml作为-

<filter>
    <filter-name>encoding-filter</filter-name>
    <filter-class>
        org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

是否仍然可以从HTML表单中获取发布的原始文本


共 (1) 个答案

  1. # 1 楼答案

    确保您的JSP具有pageEncoding=UTF-8。在网上。xml:

    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <page-encoding>UTF-8</page-encoding>
        </jsp-property-group>
    </jsp-config>
    

    你的浏览器是互联网爆炸器吗

    输入实际上是UTF-8还是从MS Word复制粘贴的